package com.xq.string;

/**
 * @author jltxseo
 *         Created by junlintianxia on 2017/07/09.
 *             可能很多人对intern()这个函数不了解。JDK API文档中对intern()方法的描述是：
 *             返回字符串对象的规范化表示形式。
 *             一个初始为空的字符串池，它由类 String 私有地维护。
 *             当调用 intern 方法时，如果池已经包含一个等于此 String 对象的字符串（用 equals(Object) 方法确定），
 *             则返回池中的字符串。否则，将此 String 对象添加到池中，并返回此 String 对象的引用。
 *             它遵循以下规则：对于任意两个字符串 s 和 t，当且仅当 s.equals(t) 为 true 时，s.intern() == t.intern() 才为 true。
 *             所有字面值字符串和字符串赋值常量表达式都使用 intern 方法进行操作。
 */

public class StringNewTest5 {
    private static String a = "ab";
    public static void main(String[] args) {
        String s1 = "a";
        String s2 = "b";
        String s = s1 + s2;
        System.out.println(s == a);
        System.out.println(s.intern() == a);
    }

}
